package com.aidong.pay.biz;

import java.util.Map;

import com.aidong.pay.entity.Recommend;

public interface OrderManagementBiz {

	/**
	 * 申请退款
	 * 
	 * @param map
	 */
	public void addApplyOrderRefund(Map<String, Object> map);

	/**
	 * 预约状态更改
	 * 
	 * @param map
	 */
	public int editAppointStatus(Map<String, Object> map);

	/**
	 * 更改订单状态
	 * 
	 * @param map
	 */
	public void editOrderPayStatus(Map<String, Object> map);

	/**
	 * 删除预约记录
	 * 
	 * @param map
	 */
	public void delAppointStatus(Map<String, Object> map);

	/**
	 * 删除订单
	 * 
	 * @param map
	 */
	public void delOrderPayStatus(Map<String, Object> map);

	/**
	 * 活动订单详情
	 * 
	 * @param orderId
	 * @return
	 */
	public Map<String, Object> getActiveOrderDetail(int orderId);

	/**
	 * 餐饮订购详情
	 * 
	 * @param orderId
	 * @return
	 */
	public Map<String, Object> getFoodOrderDetail(int orderId);

	/**
	 * 课程订单详情
	 * 
	 * @param orderId
	 * @return
	 */
	public Map<String, Object> getCourseOrderDetail(int orderId);

	/**
	 * 修改订单信息
	 * 
	 * @param map
	 */
	public void editOrderPayInfo(Map<String, Object> map);

	/**
	 * 查询订单回调状态
	 * 
	 * @param map
	 * @return
	 */
	public Map<String, Object> getOrderBackStatus(Map<String, Object> map);

	/**
	 * 修改订单短信状态
	 * 
	 * @param map
	 */
	public void editOrderSmsStatus(Map<String, Object> map);

	/**
	 * 记录支付回调
	 * 
	 * @param map
	 */
	public void addPayCallBack(Map<String, Object> map);

	/**
	 * 兑换券使用
	 * 
	 * @param map
	 */
	public void editExchangeTicketsInfo(Map<String, Object> map);

	/**
	 * 代金券使用
	 * 
	 * @param map
	 */
	public void editCouponsInfo(Map<String, Object> map);

	public void editexchangeTicketsInfoOrderId(Map<String, Object> map);

	public void editCouponsInfoOrderId(Map<String, Object> map);

	public void editCouponsInfoOrderIdZero(Map<String, Object> map);

	public void editexchangeTicketsInfoOrderIdUse(Map<String, Object> map);

	public void editCouponsInfoOrderIdUse(Map<String, Object> map);

	public void editDiscountInfoOrderId(Map<String, Object> map);

	public void editDiscountInfoOrderIdUse(Map<String, Object> map);

	/**
	 * 设置电影券未被购买
	 * 
	 * @param map
	 */
	public void setMovieTicketsUnuse(Map<String, Object> map);

	/**
	 * 设置代金券为未使用
	 * 
	 * @param map
	 */
	public void setCouponsTicketsUnuse(Map<String, Object> map);

	/**
	 * 设置折扣券为未使用
	 * 
	 * @param map
	 */
	public void setDiscountTicketsUnuse(Map<String, Object> map);

	/**
	 * 设置兑换券为未使用
	 * 
	 * @param map
	 */
	public void setExchangeTicketsUnuse(Map<String, Object> map);

	/**
	 * 根据订单号查询电影券信息
	 * 
	 * @param map
	 * @return
	 */
	public Map<String, Object> selectMoviceTickets(Map<String, Object> map);

	/**
	 * 取消预约后设置已报满的活动为未报满
	 * 
	 * @param orderId
	 */
	public void setActivityFlag(int orderId);

	/**
	 * 获取票务的取货方式
	 * 
	 * @param map
	 * @return
	 */
	public Map<String, Object> getCampaignPickUpWay(Map<String, Object> map);

	/**
	 * 获取订单对应的虚拟码
	 * 
	 * @param map
	 * @return
	 */
	public Map<String, Object> getMovieTicketNum(Map<String, Object> map);

	/*
	 * 
	 */
	public Recommend getRecommendInfo(String orderId);
	
	public void getOrderMessage();
	
	public int getLuckyDrawBySubscribeId(Map<String, Object> map);
	
	/**
	 * 预约状态更改
	 * 
	 * @param map
	 */
	public int editAppointCampaignStatus(Map<String, Object> map);
}
